#pragma once

namespace MCCommon
{

class IRunnable
{
public:
    /**
     * Destructor.
     * 
     */    
    virtual ~IRunnable()
    {
    }

    /**
     * Run.
     * 
     */
    virtual void Run() = 0 ;

    /**
     * Cancel this task.
     * 
     */
    virtual void Cancel() = 0;
};

}// end of namespace MCCommon